/*
	File:		MainMenuState.h
	Course:		SGP 1302
	Author:		Jaryd Mullens
	Purpose:	MainMenuState handles the main menu
*/

#pragma once
#include "IGameState.h"

class CSGD_Direct3D;
class CSGD_DirectInput;
class CSGD_TextureManager;
class CSGD_XAudio2;
class CDrawText;
class CParticleManager;

class CMainMenuState : public IGameState
{
public:
	//SINGLETON
	static CMainMenuState*	GetInstance( void );

	// IGameState Interface
	virtual		void	Enter	( void );
	virtual		void	Exit	( void );

	virtual		bool	Input	( void );
	virtual		void	Update	( float fElaspedTime );
	virtual		void	Render	( void );
	void HandleEvent(CEvent* pEvent);


private:
	//Hidden constructors / destructors / assignment operator
	CMainMenuState(void);
	virtual ~CMainMenuState(void);
	CMainMenuState(const CMainMenuState& );
	CMainMenuState& operator= (const CMainMenuState& );

	//SGD Wrappers
	CSGD_Direct3D*			m_pD3D;
	CSGD_DirectInput*		m_pDI;
	CSGD_TextureManager*	m_pTM;
	CSGD_XAudio2*			m_pXA;

	CDrawText*				m_pDT;
	//Assets
	CParticleManager*		m_pTest;
	int						m_nTextImageID;

	int m_nCursorPos;
	bool m_bCredits;
	bool m_bHowToPlay;
	//Cursor member

	//Volume
	

	//sfx
	


	

};

